package com.yopuo.api.pay.wxpay;

import com.yopuo.api.pay.model.Product;
import org.springframework.ui.ModelMap;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 微信H5支付
 * @author zzh
 */
public interface WxMobilePayServer {
	
	/**
	 * 方法描述: H5支付(需要公众号内支付)
	 * @param:
	 * @return:
	 * @author: zzh
	 * @date: 2021/1/21
	 */
    public String  pay(Product product, ModelMap map);

	/**
	 * 方法描述: 纯H5支付(不建议在APP端使用)
	 * @param:
	 * @return:
	 * @author: zzh
	 * @date: 2021/1/21
	 */
    public String  h5pay(Product product, ModelMap map);

	/**
	 * 方法描述: 小程序支付(需要HTTPS)
	 * @param:
	 * @return:
	 * @author: zzh
	 * @date: 2021/1/21
	 */
    public String  smallRoutine(Product product, ModelMap map);
	/**
	 * 方法描述: 预下单(对于已经产生的订单)
	 * @param:
	 * @return:
	 * @author: zzh
	 * @date: 2021/1/21
	 */
	public String dopay(HttpServletRequest request, HttpServletResponse response);
	/**
	 * 方法描述: 手机支付完成回调
	 * @param:
	 * @return:
	 * @author: zzh
	 * @date: 2021/1/21
	 */
	public void WXPayBack(HttpServletRequest request, HttpServletResponse response);
}
